#ifndef __CCSSENDPROCESS_H__
#define __CCSSENDPROCESS_H__

#include "ccsLogicProcess.h"


//init
#define CCS_ReportInitReq_ID				0xF1
#define CCS_ReportInitReq_Len				4
//StartCharge
#define CCS_StartReq_ID						0xFC
#define CCS_StartReq_Len					4
//SessionSetup
#define CCS_SessionSetupRes_ID				0x82
#define CCS_SessionSetupRes_Len				44
//ServiceDiscovery
#define CCS_ServiceDiscoveryRes_ID			0x83
#define CCS_ServiceDiscoveryRes_Len			12
//ServicePaymentSelection
#define CCS_PaymentSelectionRes_ID			0x85
#define CCS_PaymentSelectionRes_Len			4
//ContractAuthentication
#define CCS_ContractAuthenticationRes_ID	0x87
#define CCS_ContractAuthenticationRes_Len	4
//ChargeParameterDiscovery
#define CCS_ChargeParameterDiscoveryRes_ID	0x88
#define CCS_ChargeParameterDiscoveryRes_Len	116
//PowerDelivery
#define CCS_PowerDeliveryRes_ID				0x89
#define CCS_PowerDeliveryRes_Len			12
//CableCheck
#define CCS_CableCheckRes_ID				0x8F
#define CCS_CableCheckRes_Len				16
//PreCharge
#define CCS_PreChargeRes_ID					0x90
#define CCS_PreChargeRes_Len				16
//CurrentDemand
#define CCS_CurrentDemandRes_ID				0x91
#define CCS_CurrentDemandRes_Len			36
//WeldingDetection
#define CCS_WeldingDetectionRes_ID			0x92
#define CCS_WeldingDetectionRes_Len			16
//SessionStop
#define CCS_SessionStopRes_ID				0x8C
#define CCS_SessionStopRes_Len				4
//AllStop
#define CCS_AllStopReq_ID					0xFE
#define CCS_AllStopReq_Len					4
//ReportState
#define CCS_ReportStateReq_ID				0xF5
#define CCS_ReportStateReq_Len				4

#define INITReq_INFO	"INIT" 
#define STOPReq_INFO	"STOP" //Initialization withoutS Reset
#define HDWRRESET_INFO	"HRST" //Initialization with Reset

//RNL PLC MsgSending Functions
void ReportInitReq(RNL_CcsEvsePara para, uint8_t gunId);
void StartReq(RNL_CcsEvsePara para, uint8_t gunId);
void ReportStateReq(RNL_CcsEvsePara para, uint8_t gunId);
void SessionSetupRes(RNL_CcsEvsePara para, uint8_t gunId);
void ServiceDiscoveryRes(RNL_CcsEvsePara para, uint8_t gunId);
void PaymentSelectionRes(RNL_CcsEvsePara para, uint8_t gunId);
void ContractAuthenticationRes(RNL_CcsEvsePara para, uint8_t gunId);
void ChargeParameterDiscoveryRes(RNL_CcsEvsePara para, uint8_t gunId);
void CableCheckRes(RNL_CcsEvsePara para, uint8_t gunId);
void PrechargeRes(RNL_CcsEvsePara para, uint8_t gunId);
void PowerDeliveryRes(RNL_CcsEvsePara para, uint8_t gunId);
void CurrendDemandRes(RNL_CcsEvsePara para, uint8_t gunId);
void WeldingDetectionRes(RNL_CcsEvsePara para, uint8_t gunId);
void SessionStopRes(RNL_CcsEvsePara para, uint8_t gunId);
void AllStopReq(RNL_CcsEvsePara para, uint8_t gunId);

#endif //__CCSSENDPROCESS_H__


